#include "gtkactionobserverprivate.h"
#include "gtkintl.h"
#include "gtkmarshalers.h"
+#include "gtkwidget.h"
#include <string.h>
GHashTable *groups;
GHashTable *primary_accels;
GtkActionMuxer *parent;
+
+ GtkWidget *widget;
};
G_DEFINE_TYPE_WITH_CODE (GtkActionMuxer, gtk_action_muxer, G_TYPE_OBJECT,
{
PROP_0,
PROP_PARENT,
+ PROP_WIDGET,
NUM_PROPERTIES
};
g_value_set_object (value, gtk_action_muxer_get_parent (muxer));
break;
+ case PROP_WIDGET:
+ g_value_set_object (value, muxer->widget);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
gtk_action_muxer_set_parent (muxer, g_value_get_object (value));
break;
+ case PROP_WIDGET:
+ muxer->widget = g_value_get_object (value);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
+ properties[PROP_WIDGET] = g_param_spec_object ("widget", "Widget",
+ "The widget that owns the muxer",
+ GTK_TYPE_WIDGET,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
g_object_class_install_properties (class, NUM_PROPERTIES, properties);
}
/*< private >
* gtk_action_muxer_new:
+ * @widget: the widget to which the muxer belongs
*
* Creates a new #GtkActionMuxer.
*/
GtkActionMuxer *
-gtk_action_muxer_new (void)
+gtk_action_muxer_new (GtkWidget *widget)
{
- return g_object_new (GTK_TYPE_ACTION_MUXER, NULL);
+ return g_object_new (GTK_TYPE_ACTION_MUXER,
+ "widget", widget,
+ NULL);
}
/*< private >
#define __GTK_ACTION_MUXER_H__
#include <gio/gio.h>
+#include "gtkwidget.h"
G_BEGIN_DECLS
typedef struct _GtkActionMuxer GtkActionMuxer;
GType gtk_action_muxer_get_type (void);
-GtkActionMuxer * gtk_action_muxer_new (void);
+GtkActionMuxer * gtk_action_muxer_new (GtkWidget *widget);
void gtk_action_muxer_insert (GtkActionMuxer *muxer,
const gchar *prefix,